Printing devices are frequently used in many aspects of business, industry and academic endeavors. The term “printing,” as used herein, should be interpreted broadly to include any process for producing a copy of a document onto paper, a computer screen, an electronic image, or the like. Examples of printing devices include printers, facsimile devices, copiers, scanners, display monitors, multi-function peripherals (MFPs), imagesetters, platesetters, and so forth. Documents which are sent to a printing device for printing are sometimes referred to as print jobs. Print jobs may include references to one or more resources, such as fonts, forms, overlays, watermarks, logos, macros, biometric identifications, address books, digital signatures, etc.
A print generation process (e.g., a printer driver) may download the resources that are referenced in a print job to a printing device. For example, the resources may be embedded in the print job. Some printing devices have the ability to retain resources in non-volatile storage. If a resource is resident in a printing device, then it is not necessary for the print generation process to download the resource to the printing device. Thus, it may be desirable for a print generation process to be able to determine when to download a resource to a printing device as part of a print job.
The resources that are resident in a printing device may be fixed. A printer driver associated with such a printing device (e.g., provided by the manufacturer) may have pre-determined knowledge of which resources are resident in the printing device. If a print job contains a reference to a resource that is not part of the pre-determined list, the driver may download a copy of the resource as part of the print job. Once the print job is completed, the resource may be deleted.
However, the resources that are resident in some printing devices may not be fixed. For example, a growing number of printing devices have the ability to download resources into non-volatile storage (e.g., flash memory).
There are several known approaches for determining when to download a resource to a printing device as part of a print job. For example, one approach involves listing the device resident resources in a printer driver configuration that is stored on the host. In another approach, the printer driver dynamically determines the device resident resources of the device by querying the device at the inception of the job generation. In yet another approach, the resources resident in a printing device may be registered with a centralized resource manager, which is then queried by the print generation process when a print job is initiated. However, benefits may be realized by improved systems and methods for determining when to download a resource to a printing device as part of a print job.